package com.ssm.studen.service.impl;

import com.ssm.studen.dao.StudentDao;
import com.ssm.studen.model.Student;
import com.ssm.studen.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/***
 * 学生表：
 *      实现业务及流程接口当中的内容
 */
@Service
public class StudentServiceImpl implements StudentService {

    @Autowired
    private StudentDao studentDao;

    /**
     * 学生添加方法
     * @param student 学生实体
     * @return 是否成功（-1：有重复信息）
     */
    @Override
    public int addStudent(Student student) {
        int returnInt = 0;
        /*
        * 业务判断：
        *       学生学号不能重复
        * */
        int studentIdCount = studentDao.getStudentIdCount(student.getSid());
        if(studentIdCount<1){
            //2.数据添加
            int addStudentInt = studentDao.insertStudent(student);
            //3.返回值设置
            returnInt = addStudentInt;
        }else{
            //有相同的角色名
            returnInt = -1;
        }
        return returnInt;
    }


    /**
     * 学生删除
     * @param sid 学生学号
     * @return
     */
    public int delStudent(String sid){
        int delStudent = 0;
        try {
            //返回的结果总数量小于1，才可以删除
            if(studentDao.getStudentIdCount(sid)<1){
                delStudent = studentDao.delectStudent(sid);
            }
        }catch (Exception e){
            delStudent = -1;
            System.out.println("删除角色信息时执行SQL报错，信息为：" + e.getMessage());
        }
        return delStudent;
    }


    /**
     * 学生更新
     * @param student 学生实体
     * @return 更新是否成功（-1：更新执行SQL报错）
     */
    public int updateStudent(Student student){
        /*
         * 业务流程判断
         * */
        int isUpdate = 0;
        try {
            isUpdate = studentDao.updateStudent(student);
        }catch (Exception e){
            isUpdate = -1;
            //打印更新时报错的情况
            System.out.println("更新学生信息时执行SQL报错的原因是：" + e.getMessage());
        }
        return isUpdate;
    }


    /**
     * 学生查询方法
     */
}















